The present invention relates to a real-time control arrangement for a simulation device designed for checking a program used in real-time system which is monitored on a load-sharing basis by two stored program computers, and more particularly where the simulation device includes a third computer connected to the two real-time system computers so as to simulate real-time system peripheral equipment by exchanging with the real-time system computers data which is normally exchanged between real-time system computers and their actual peripheral equipment.
In a known manner, such simulation devices are particularly of interest when it is designed to simultaneously check hardware and software of a complex system such as, for example, a stored program control electronic system. These simulation devices particularly permit the testing of the chain of the elementary programs forming the system stored program. They reveal, on the one hand, conflicts between elementary programs and, on the other hand, certain faults caused by rare event configurations, such faults being too difficult to reproduce by another method.
A known simulation process utilizes a single more powerful computer than those belonging to the system being programmed. This single computer is provided with programs written for the system and with a simulation program, the run of all these programs permitting the desired check. However, such a process does not always permit the running of the programs in real-time conditions. Particularly, it is not easy to simulate the interlacing of input and output instructions, respectively, corresponding to a request and response system.
A second simulation process consists in using an additional simulation computer connected to the two system computers so as to simulate their environment and to permit information exchange identical to information exchange between the two system computers and their peripheral equipment. The second process has the advantage of permitting the running of the programs close to the real run and it is particularly fitted to real-time system development.
However, the use of three computers implies synchronization requirements since it is of particular importance that the sequence of the operations, wherein two computers at least are involved, is respected, such as, for example, data input and output operations. Also, it is important to be able to know the actual duration of these operations.
To enable an easier test and program development, it appears of interest that the run of an operation may be stopped or performed step by step, if necessary, while maintaining real-time and duration concepts. Thus, it is necessary to provide the system with that real-time concept and to interrupt a real-time run, which necessarily results in possibilities of differentiated stops for the three computers.